package someTestExcemple.ioStream;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class CharSet {
    public static void main(String[] args) throws UnsupportedEncodingException {
        //掌握用java代码对字符进行编码和解码的流程
        String data = "a我b";
        //1.编码 -将字符按指定字符集编码成字节  String->byte[]
        byte[] bytes = data.getBytes(); //默认按照平台字符集进行编码(这里是UTF-8) 也可以手动设置编码规则
        for (byte b : bytes) {  //一共5个字节
            System.out.println(b);
        }
        //按指定字符集进行编码
        byte[] bytes1 = data.getBytes("GBK"); //这里报空是怕没有这个字符集 比如代码敲错了
        System.out.println(Arrays.toString(bytes1)); //gbk编码中中文是两个字节
        //2.解码 ---将字节按指定字符集解码成字符 byte[] ->String
        String s = new String(bytes1); //这里是按照平台默认字符集进行解码(utf-8) 也可以手动指定编码规则
        System.out.println(s); //编码解码的字符集不一致导致输出乱码
        String s1 = new String(bytes1, "GBK");
        System.out.println(s1);

    }
}
